#include <iostream>

using namespace std;

const int N = 10;
int a[N][N], f[N * 2][N][N];
int n;

int main()
{
	cin >> n;
	int x, y, z;
	while(cin >> x >> y >> z)
	{
		if(x == 0 && y == 0 && z == 0) break;
		a[x][y] = z;
	}
	
	for(int s = 2; s <= 2 * n; s++)
		for(int i1 = 1; i1 <= n; i1++)
			for(int i2 = 1; i2 <= n; i2++)
			{
				int j1 = s - i1, j2 = s - i2;
				if(j1 < 1 || j2 < 1 || j1 > n || j2 > n) continue;
				int& t = f[s][i1][i2];
				if(i1 == i2 && j1 == j2)
				{
					t = max(t, f[s - 1][i1][i2] + a[i1][j1]);
					t = max(t, f[s - 1][i1][i2 - 1] + a[i1][j1]);
					t = max(t, f[s - 1][i1 - 1][i2] + a[i1][j1]);
					t = max(t, f[s - 1][i1 - 1][i2 - 1] + a[i1][j1]);
				}
				else
				{
					t = max(t, f[s - 1][i1][i2] + a[i1][j1] + a[i2][j2]);
					t = max(t, f[s - 1][i1][i2 - 1] + a[i1][j1] + a[i2][j2]);
					t = max(t, f[s - 1][i1 - 1][i2] + a[i1][j1] + a[i2][j2]);
					t = max(t, f[s - 1][i1 - 1][i2 - 1] + a[i1][j1] + a[i2][j2]);
				}
				
			}
	cout << f[2 * n][n][n] << endl;
	return 0;
}
